يتم استخدام التعبير JOIN لربط الصفوف من جدولين أو أكثر بناءً على عمود مرتبط بينهما.
دعونا نلقي نظرة على نموذج من الجدول "Orders" ("الطلبات"):
ProductID | OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|---|
1 | 10248 | 90 | 5 | 1996-07-04 | 3 |
2 | 10249 | 81 | 6 | 1996-07-05 | 1 |
3 | 10250 | 34 | 4 | 1996-07-08 | 2 |
ثم انظر إلى النموذج من الجدول "Customers" ("العملاء"):
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
لاحظ أن العمود "CustomerID" في الجدول "Orders" يشير إلى "CustomerID" في الجدول "Customers". العلاقة بين الجدولين أعلاه هي العمود "CustomerID".
يمكننا بعد ذلك إنشاء عبارة SQL التالية (التي تحتوي على INNER JOIN) التي تحدد السجلات التي لها قيم متطابقة في كلا الجدولين:
Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
وهذا سوف ينتج شيئا مثل هذا:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 1996-09-18 |
10365 | Antonio Moreno Taquería | 1996-11-27 |
10355 | Around the Horn | 1996-11-15 |
10383 | Around the Horn | 1996-12-16 |
10289 | B's Beverages | 1996-08-26 |
فيما يلي الأنواع المختلفة لـ JOIN في SQL: